package com.boboPlanet.user.service;

import com.boboPlanet.comm.entity.dto.LoginUserInfoDTO;
import com.boboPlanet.comm.result.ResponseResult;
import com.boboPlanet.user.entity.dto.ArticleMainDTO;
import com.boboPlanet.user.entity.dto.UpdateUserInfoDTO;
import com.boboPlanet.user.entity.vo.CurrentUserInfoVO;
import com.boboPlanet.user.entity.vo.UserArtListVO;
import com.boboPlanet.user.entity.vo.UserArtMainVO;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.concurrent.ExecutionException;

/**
 * @Description: TODO
 * @Author: mis_wu
 * @Date: 2023/2/14
 **/
public interface UserOperationService {

    /**
     * user login
     *
     * @param dto   LoginUserInfoDTO
     * @return ResponseResult
     */
    ResponseResult<Object> planetLogin(LoginUserInfoDTO dto);

    ResponseResult<Boolean> planetRegister(LoginUserInfoDTO dto);

    Boolean planetUserLogout(String account, String token);

    /**
     * 修改用户信息
     * @param dto UpdateUserInfoDTO
     * @return ResponseResult
     */
    ResponseResult<Boolean> updatePlanetUserInfo(UpdateUserInfoDTO dto);

    CurrentUserInfoVO getCurrentUserInfo(String account,String token);

    /**
     * 上传头像
     * @param file MultipartFile
     * @param fileType String
     * @param token String
     * @return String
     */
    ResponseResult<String> updateUserAvatar(MultipartFile file, String fileType, String token);

    UserArtMainVO getUserArtList(ArticleMainDTO mainDTO);
}
